<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.prime.com.tr/ui">
    <ui:composition template="Index.xhtml">  
        <ui:define name="content"> 
            <h:body>
                <p:growl id="avisos" showDetail="true"/>
                <h:form id="formEditar">
                    <p:panel header="Cadastro de Filme" id="panelDados">
                        <h:panelGrid columns="1" >
                            <h:outputText value="Código"/>
                            <p:inputText value="#{filmeHandler.filme.filCodigo}" disabled="true" size="5"/>
                            <h:outputText value="Título do Filme"/>
                            <p:inputText value="#{filmeHandler.filme.filTitulo}" size="50" maxlength="100" required="true" requiredMessage="Campo titulo obrigatório"/>
                            <h:outputText value="Nome do Diretor"/>
                            <p:inputText value="#{filmeHandler.filme.filDiretor}" size="50" maxlength="100" required="true" requiredMessage="Campo diretor obrigatório"/>
                            <h:outputText value="Ano "/>
                            <p:inputText value="#{filmeHandler.filme.filAno}" size="10" maxlength="100" required="true" requiredMessage="Campo ano obrigatório"/>
                            <h:outputText value="Duração"/>
                            <p:inputText value="#{filmeHandler.filme.filDuracao}" size="10" maxlength="100" required="true" requiredMessage="Campo duração obrigatório"/>
                            <h:outputText value="Sensura"/>
                            <p:inputText value="#{filmeHandler.filme.filSensura}" size="10" maxlength="100" required="true" requiredMessage="Campo sensura obrigatório"/>
                            <h:outputText value="Resumo"/>
                            <p:inputText value="#{filmeHandler.filme.filResumo}" size="50" maxlength="100" required="true" requiredMessage="Campo resumo obrigatório"/>
                            <h:outputText value="Imagem"/>
                            <p:inputText value="#{filmeHandler.filme.filImagem}" size="50" maxlength="100" required="true" requiredMessage="Campo nome da imagem obrigatório"/>
                            <h:outputText value="Valor/locação"/>
                            <p:inputText value="#{filmeHandler.filme.fil_preco_locacao}" converterMessage="Campo valor locação inválido."  size="10" maxlength="10" required="true" requiredMessage="Campo preço da locação obrigatório"/>
                            <h:outputText value="Valor/venda"/>
                            <p:inputText value="#{filmeHandler.filme.fil_preco_venda}" converterMessage="Campo valor venda inválido." size="10" maxlength="10" required="true" requiredMessage="Campo preço de venda obrigatório"/>
                            <h:panelGrid columns="1">
                                <h:outputText value="Categoria"/>
                                <h:panelGrid columns="2">
                                    <h:selectOneMenu id="categoria" value="#{filmeHandler.idCategoria}" required="true" requiredMessage="Campo categoria obrigatório." >
                                        <f:selectItem itemValue="" itemLabel="selecione a categoria"/>
                                        <f:selectItems value="#{categoriaHandler.listacategoria()}" var="categoria"
                                                       itemLabel="#{categoria.catDescricao}" itemValue="#{categoria.catCodigo}">
                                        </f:selectItems>
                                    </h:selectOneMenu>
                                    <p:commandButton action="#{categoriaHandler.paginaCategoria()}" onclick="CadastroCategoria.xhtml" immediate="true" title="cadastrar categoria"  image="ui-icon-pencil"/>
                                </h:panelGrid>
                            </h:panelGrid>
                            <h:panelGrid columns="1">
                                <h:outputText value="Produtora"/>
                                <h:panelGrid columns="2">
                                    <h:selectOneMenu id="produtora" value="#{filmeHandler.idProdutora}" required="true" requiredMessage="Campo produtora obrigatório." >
                                        <f:selectItem itemValue="" itemLabel="selecione a produtora"/>
                                        <f:selectItems value="#{produtoraHandler.listaprodutora()}" var="produtora"
                                                       itemLabel="#{produtora.proDescricao}" itemValue="#{produtora.proCodigo}">
                                        </f:selectItems>
                                    </h:selectOneMenu>
                                    <p:commandButton action="#{produtoraHandler.paginaProdutora()}" onclick="CadastroProdutora.xhtml" immediate="true" title="cadastrar produtora"  image="ui-icon-pencil"/>
                                </h:panelGrid>
                            </h:panelGrid>
                            <p:column>
                                <p:commandButton action="#{filmeHandler.salvar}"  value="Salvar" update="avisos panelDados atorForm:add panelDadosAtor"  image="ui-icon ui-icon-disk"/>
                                <p:commandButton value="Pesquisar" image="ui-icon-search" action="#{filmeHandler.listafilme()}" update="formPesquisa" oncomplete="dlg2.show();"/>
                                <p:commandButton value="Cancelar" image="ui-icon-document" update="formEditar:panelDados" oncomplete="cancelar.show();"/> 
                            </p:column>
                        </h:panelGrid>
                    </p:panel>
                </h:form>


                <p:panel header="Adicionar Ator" id="panelDadosAtor" style="background: antiquewhite" >
                    <h:form id="atorForm">
                        <h:panelGrid id="add" columns="3">
                            <h:panelGrid>
                                <h:outputText value="*Ator"/>
                                <h:selectOneMenu id="ator" value="#{filmeHandler.idAtor}" required="true" requiredMessage="Campo ator obrigatório." >
                                    <f:selectItem itemValue="" itemLabel="selecione o ator"/>
                                    <f:selectItems value="#{filmeHandler.listaDisponiveis}" var="ator"
                                                   itemLabel="#{ator.atoNome}" itemValue="#{ator.atoCodigo}">
                                    </f:selectItems>
                                </h:selectOneMenu>
                            </h:panelGrid>
                            <h:panelGrid>
                                <p:commandButton action="#{filmeHandler.adicionarAtor()}" update="avisos atorForm tabelaAtorForm" 
                                                 image="ui-icon-plus" title="adicionar"/>
                            </h:panelGrid>
                        </h:panelGrid>

                            <p:dataTable value="#{filmeHandler.atores}" var="ator" id="tabelaAtor"
                                         emptyMessage="Nenhum ator adicionado.">  
                                <p:column>  
                                    <f:facet name="header">
                                        <h:outputText value="Código" />
                                    </f:facet>  
                                    <h:outputText value="#{ator.atoCodigo}" />
                                </p:column> 
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="Ator" />
                                    </f:facet>  
                                    <h:outputText value="#{ator.atoNome}" />
                                </p:column>
                                <p:column style="text-align: center">  
                                    <f:facet name="header">
                                        <h:outputText value="Operação" />
                                    </f:facet>  
                                    <p:commandButton action="#{filmeHandler.removerAtor(ator)}" 
                                                     immediate="true" update="avisos atorForm tabelaAtorForm" 
                                                     image="ui-icon-trash" title="remover ator"/>
                                </p:column>
                            </p:dataTable>
                    </h:form>
                </p:panel>                       

                <p:spacer height="40"/>
                <p:dialog id="dialogfilme" header="Listar Filme" hideEffect="drop" height="410" width="1000" widgetVar="dlg2">  
                    <h:form id="formPesquisa">
                        <p:dataTable id="tabelafilme" var="f" value="#{filmeHandler.listafilme()}" 
                                     emptyMessage="Nenhum registro encontrado." rows="6" 
                                     paginator="true" selectionMode="single">

                            <p:column headerText="Código" style="text-align: center">
                                <h:outputText value="#{f.filCodigo}" />
                            </p:column>
                            <p:column filterBy="#{f.filTitulo}" headerText="Pesquisar por Titulo">  
                                <h:outputText value="#{f.filTitulo}" />  
                            </p:column>
                            <p:column filterBy="#{f.filcodCategoria.catDescricao}" headerText="Pesquisar por categoria">  
                                <h:outputText value="#{f.filcodCategoria.catDescricao}" />  
                            </p:column>
                            <p:column filterBy="#{f.filcodProdutora.proDescricao}" headerText="Pesquisar por produtora">  
                                <h:outputText value="#{f.filcodProdutora.proDescricao}" />  
                            </p:column>
                            <p:column headerText="Atores">  
                                <h:outputText value="#{f.atores}" />  
                            </p:column>
                            <p:column style="text-align: center">
                                <p:commandButton actionListener="#{filmeHandler.parametroRemover}" image="ui-icon-trash"
                                                 update="avisos" title="excluir registro" oncomplete="confirmacao.show()" immediate="true">  
                                    <f:param id="idParaRemover" value="#{f}"/>
                                </p:commandButton> 
                                <p:commandButton action="#{filmeHandler.alterar(f)}" onclick="CadastroFilme.xhtml"
                                                 image="ui-icon-wrench" title="alterar registro" immediate="true">
                                </p:commandButton>
                            </p:column>  
                        </p:dataTable>
                    </h:form>
                </p:dialog>
                <p:confirmDialog message="Deseja realmente excluir registro?" hideEffect="explode" 
                                 header="Excluir" severity="alert" widgetVar="confirmacao" modal="true">
                    <h:form>
                        <p:commandButton value="Sim" oncomplete="confirmacao.hide();" 
                                         ajax="false" action="#{filmeHandler.remover()}" immediate="true"/>
                        <p:commandButton value="Não" onclick="confirmacao.hide()" type="button" immediate="true"/>
                    </h:form>
                </p:confirmDialog>
                <p:confirmDialog  message="Deseja Cancelar?" hideEffect="drop" modal="true" 
                                  header="Cancelar filme" severity="info" widgetVar="cancelar">
                    <h:form>
                        <p:commandButton action="#{filmeHandler.cancelar()}" onclick="cancelar.hide()" value="Sim" update="formEditar:panelDados atorForm:add panelDadosAtor"/>
                        <p:commandButton value="Não" onclick="cancelar.hide()"  type="button"/>

                    </h:form>
                </p:confirmDialog>
            </h:body>
        </ui:define>
    </ui:composition>
</html>
